package com.pawernode.message;

import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * ReceiverMessage类用于接收和处理来自RabbitMQ的消息。
 * 该类被Spring框架管理，因为它标注了@Component注解。
 * @author [Your Name]
 * @since [Version Number]
 */
@Component
@Slf4j
public class ReceiverMessage {

    // 定义队列名称常量
    private static final String queueName = "queue.properties.3";

    /**
     * 监听指定队列中的消息并进行处理。
     * 该方法使用RabbitListener注解来监听队列中的消息，当消息到达时自动调用该方法。
     *
     * @param message 接收到的消息，包含消息体、属性等信息。
     */
//    @RabbitListener(queues = {queueName})
    public void receiverMsg1(Message message) {
        // 记录接收到的消息内容和接收时间
        log.info("1 接收到的消息为：{} ,接收时间为：{}", new String(message.getBody()), new Date());
    }

//    @RabbitListener(queues = {queueName})
    public void receiverMsg2(Message message) {
        // 记录接收到的消息内容和接收时间
        log.info("2 接收到的消息为：{} ,接收时间为：{}", new String(message.getBody()), new Date());
    }

//    @RabbitListener(queues = {queueName})
    public void receiverMsg3(Message message) {
        // 记录接收到的消息内容和接收时间
        log.info("3 接收到的消息为：{} ,接收时间为：{}", new String(message.getBody()), new Date());
    }
}
